package initialize

import (
	"github.com/gomodule/redigo/redis"
	"time"
)

var RedisConn *redis.Pool

func RedisSetup() error {
	RedisConn = &redis.Pool{
		// 连接池最大空闲的连接数，0表示不限制
		MaxIdle: 500,

		// 连接池最大活跃的连接数，0表示不限制
		MaxActive: 300,

		// 每个连接的最大空闲时间（应小于超时时长），超过这个时间会被收回，0表示不限制
		IdleTimeout: 60 * time.Second,

		// 从连接池获取连接，若没有可用连接时是否要等待
		Wait: false,

		// 连接的最大时长，如果连接超过此时长将会被关闭
		MaxConnLifetime: 60 * time.Second,

		//创建和配置链接
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial("tcp", "43.136.117.207:6379", redis.DialPassword("125554566"))
			if err != nil {
				return nil, err
			}
			return c, err
		},
	}

	return nil
}
